Snow Hydrology · Water Storage in Snowpack

SWE – Snow Water Equivalent

SWE (Snow Water Equivalent) represents the amount of liquid water stored in the snowpack, i.e. the depth of water that would result if the snow were completely melted. It is a key variable for hydrology, runoff forecasting, and water resources in snow-dominated regions.
مكافئ مياه الثلج: كمية المياه (بالمليمتر أو كجم/م²) المخزنة في الغطاء الثلجي، إذا تم إذابة كل الثلج وتحويله إلى ماء سائل.

1. Scientific Definition

Snow Water Equivalent (SWE) is defined as the depth or mass of water per unit area contained in a snowpack. It combines both snow depth and snow density and is usually expressed in mm (equivalent water depth) or kg/m².

Basic Physical Formula

For in-situ measurements:

SWE = (ρsnow / ρwater) × SnowDepth Units: mm or kg/m²

  • ρsnow – density of snow (kg/m³)
  • ρwater – density of liquid water (~1000 kg/m³)
  • SnowDepth – snow depth (m)

Typical Interpretation (Remote Sensing / Models)

SWE (mm)Interpretation
0 – 10 Very shallow snow / traces
10 – 50 Light to moderate snowpack
50 – 150 Significant snow water storage
> 150 Deep snowpack – high runoff potential during melt

Thresholds depend strongly on climate and basin characteristics. They must be calibrated for each region using in-situ snow courses or snow pillow observations.

Main Applications

  • Seasonal runoff and river discharge forecasting
  • Water resources management in snow-fed basins
  • Flood risk assessment during snowmelt
  • Climate change impact studies on snow and water storage

2. Data & Sources

Model-based SWE (Recommended Example)

  • NASA/FLDAS/NOAH01/C_GL/M/V001 – FEWS NET Land Data Assimilation System (FLDAS)
  • Variable: SWE_inst – Snow Water Equivalent (kg/m²)
  • Temporal resolution: monthly
  • Spatial resolution: 0.1° (~10 km)

Other Possible Sources

  • GLDAS NOAH land surface models (SWE_inst)
  • Global reanalysis products providing SWE
  • Regional / national SWE datasets (snow pillows, snow surveys)

Best Practices

  • Mask out non-snow areas using snow cover or temperature thresholds.
  • Aggregate SWE over basins or elevation bands to support hydrological modelling.
  • Compare model-based SWE with in-situ measurements if available.
  • Use time series of SWE to analyse interannual variability and trends.

Suggested Palette

[ "#0b1120", "#1f2937", "#1d4ed8", "#3b82f6", "#93c5fd", "#e0f2fe" ]

3. Google Earth Engine Code – SWE (FLDAS SWE_inst)

// SWE – Snow Water Equivalent using FLDAS NOAH
// Dataset: NASA/FLDAS/NOAH01/C_GL/M/V001
// Variable: SWE_inst (kg/m^2)  ~ mm of water

var roi = geometry;   // Draw AOI as 'geometry'
Map.centerObject(roi, 6);

// 1. Load FLDAS monthly data
var fldas = ee.ImageCollection("NASA/FLDAS/NOAH01/C_GL/M/V001")
  .filterBounds(roi)
  .filterDate("2015-01-01", "2015-12-31")    // choose your period
  .select("SWE_inst");                       // Snow Water Equivalent

// 2. Mean SWE over the selected period
var sweMean = fldas.mean().clip(roi)
  .rename("SWE");

// Convert from kg/m^2 to mm (1 kg/m^2 ≈ 1 mm water depth)
var swe_mm = sweMean.rename("SWE_mm");

// 3. Visualization
var vis = {
  min: 0,
  max: 200,    // adjust depending on region
  palette: ["#0b1120","#1f2937","#1d4ed8","#3b82f6","#93c5fd","#e0f2fe"]
};

Map.addLayer(swe_mm, vis, "Mean SWE (mm)");

// 4. Mask zero / no-snow areas for clarity
var sweMask = swe_mm.gt(5).selfMask();  // e.g. SWE > 5 mm
Map.addLayer(
  sweMask,
  {min: 5, max: 200, palette: ["#1d4ed8","#3b82f6","#93c5fd","#e0f2fe"]},
  "SWE > 5 mm (Snowpack)",
  false
);

// 5. Basin-average SWE time series (example)
var basin = roi;  // use basin polygon if available

var sweChart = ui.Chart.image.series({
  imageCollection: fldas,
  region: basin,
  reducer: ee.Reducer.mean(),
  scale: 10000,
  xProperty: "system:time_start"
})
.setOptions({
  title: "Basin-mean SWE (kg/m² ≈ mm)",
  hAxis: {title: "Date"},
  vAxis: {title: "SWE (mm)"},
  lineWidth: 2,
  pointSize: 0
});

print("Basin SWE Time Series", sweChart);

// 6. Export SWE map as GeoTIFF
Export.image.toDrive({
  image: swe_mm,
  description: "SWE_FL_DAS_2015",
  fileNamePrefix: "SWE_FL_DAS_2015_mm",
  region: roi,
  scale: 10000,
  crs: "EPSG:4326",
  maxPixels: 1e13
});